package com.vehicle.hxz.mapper;

import java.util.List;
import com.vehicle.hxz.domain.Vehicles;
import com.vehicle.hxz.domain.VehicleTags;

/**
 * 车辆的信息Mapper接口
 * 
 * @author 郝新泽
 * @date 2025-04-09
 */
public interface VehiclesMapper 
{
    /**
     * 查询车辆的信息
     * 
     * @param vehicleId 车辆的信息主键
     * @return 车辆的信息
     */
    public Vehicles selectVehiclesByVehicleId(Long vehicleId);

    /**
     * 查询车辆的信息列表
     * 
     * @param vehicles 车辆的信息
     * @return 车辆的信息集合
     */
    public List<Vehicles> selectVehiclesList(Vehicles vehicles);

    /**
     * 新增车辆的信息
     * 
     * @param vehicles 车辆的信息
     * @return 结果
     */
    public int insertVehicles(Vehicles vehicles);

    /**
     * 修改车辆的信息
     * 
     * @param vehicles 车辆的信息
     * @return 结果
     */
    public int updateVehicles(Vehicles vehicles);

    /**
     * 删除车辆的信息
     * 
     * @param vehicleId 车辆的信息主键
     * @return 结果
     */
    public int deleteVehiclesByVehicleId(Long vehicleId);

    /**
     * 批量删除车辆的信息
     * 
     * @param vehicleIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteVehiclesByVehicleIds(Long[] vehicleIds);

    /**
     * 批量删除车辆标记
     * 
     * @param vehicleIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteVehicleTagsByVehicleIds(Long[] vehicleIds);
    
    /**
     * 批量新增车辆标记
     * 
     * @param vehicleTagsList 车辆标记列表
     * @return 结果
     */
    public int batchVehicleTags(List<VehicleTags> vehicleTagsList);
    

    /**
     * 通过车辆的信息主键删除车辆标记信息
     * 
     * @param vehicleId 车辆的信息ID
     * @return 结果
     */
    public int deleteVehicleTagsByTagId(Long vehicleId);
}
